gusucode.com > 基于simulink的数字信号调制与解调的仿真源码程序 > code/演示程序及子程序适用于matlab 7.0及以上版本/jpm1.m

    function jpm1()
M = 2; 
t = 0:0.001:0.999; 
m = randint(10, 1, M)';
p_code=sign(m(ceil(10*t+0.01))-0.5);%把0,1序列码变换为-1,1调制码
p=p_code.*cos(2*pi*10*t);
p1=p.*cos(2*pi*10*t);
Fs=80; 
fp=0.009*Fs/2; 
rp=0.01; 
fs=0.012*Fs/2; 
rs=0.1; 
f= [fp fs]; 
A=[1 0]; 
dev=[rp rs]; 
[n,f0,m0,W]=remezord(f,A,dev,Fs); 
b=remez(n,f0,m0,W);
Y=filter2(b,2*p1);
for i=1:length(t);
if (Y(i)>0.01)
    receive(i)=1;
else 
    receive(i)=0;
end
end
h=plot(t, p+6,'r',t,Y+3,'b',t,receive,'k');
set(h,'linewidth',2);
axis([0, 1, -0.2, 8.2]);
xlabel('2PSK解调信号') ;
grid;